home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
forth_83.zoo
/
1st_word.doc
/
changes.doc
next >
Wrap
Text File
|
1992-04-06
|
12KB
|
356 lines
0660000020266
1
2Seite #
9[....................................................]
ÄnderungeninVersionü3.80Çgegenüber3.7ff
Wirhabenversucht,indiesemDokumentalleÄnderungenseit
Version3.7zuerfassen.Diesistfüralleinteressant,die
bereitsfertigeProgrammehabenunddiesenunanpassenmöchten.
DreiHauptänderungenmüssendabeiberücksichtigtwerden:Das
Fileinterface,dieÄnderungenimGEMunddieRelokabilitätdes
Systems.
Nichtverschweigenwollenwir,daßwireineFüllekleinerFehler
undUnschönheitenkorrigierthaben,nichtzuletztaufgrundvon
RückmeldungendervolksFORTH-83Benutzer!
êFORTH_83.SCRÇ
-DasSystemistrelokatibel.Betroffensindalle
Assemblerworte,diemitdemRegisterD7gearbeitethaben.Das
WortMEMPAGEgibtesnichtmehr.Stattdessengibtesdas
neueWortFORTHSTART,daseineLangadresseliefert,dieden
AnfangdesSystemskennzeichnet.Dortbefindensichdie
Informationen,dieGEM-DoszumAufbauderBasepagebraucht.
-UPisteineVariablegeworden(bisherRegisterA3).
-ImKernelenthaltensindjetztdieWorte,dieunterDOUBLE
zusammengefaßtwaren,also2@,2!,2VARIABLE,2CONSTANT,
2OVER,2SWAPundD-.
-EbenfallsimKernelsinddieLangoperationen,dieaufden
gesamtenRam-Speicherarbeitenkönnenalsdasind:LC@,LC!,
L@,L!,LCMOVE(fehlerfrei),L2@,L2!undLN+!.
-UM/MODerzeugtdieFehlermeldung"divisionoverflow".
-DerFehlerin-ROLLwurdebehoben.
-drvinitistmit:drvinitnoop;definiert.Damitistes
möglich,dortRoutinenzupatchen,dienachdemBootendes
Systemsausgeführtwerdensollen.Davonmachtz.B.derEditor
Gebrauch.
-Esgibtein(LOAD,demScreennummerundPositionimBlock
übergebenwerden.
-ImDirektzugriffwerdennurdieLaufwerkeAundB
unterstützt,allerdingssowohleinseitigealsauch
doppelseitigeLaufwerke.UmschaltungerfolgtbeimLesenoder
Schreibenautomatisch.DazudienendieWorteGETBLOCKSund
MEDIACH?.
-NeuistdasdeferredwordMAKEVIEW,dasinCREATEdas
Viewfielderzeugt.
->nameisterheblichschneller,weilnfa?jetztinCode
definiertist.
-DieUservariableFILEistinISFILEumbenanntworden.Ebenso
istdasWortFILE@durchISFILE@ersetzt.Zusätzlichgibtes
dieVariableFROMFILE.CONVEYz.B.kopiertScreensvon
FROMFILEnachISFILE.
♪ⁿ-Dasdeferredword(DISKERRistnichtmehrvorhanden.
StattdessenwirdbeiallenDiskoperationeneinABORT"im
Fehlerfalleausgeführt.
-DieWorteBACKUPundEMPTYBUFsindsichtbar.
-ImFORGET-BereichistdasWortREMOVEsichtbar.Neuistdas
deferredwordCUSTOM-REMOVE.
-Die68000ErrortrapsführenaufeinABORT"undräumenden
Systemstackrichtigauf.
-DasSystemarbeitetnachwievorimSupervisormodus.Bisher
wurdederSSPbeimVerlassendesSystemsnichtwieder
restauriert.DasistjetztderFallunddamithoffentlichdas
mysteriöseVerhalteneinigerProgramme(z.B.1st_Word)im
AnschlußanFORTHbehoben.
-DasSystementhältvoreingestelltnurnoch&10Diskbuffer.
ê
FILEINT.SCR
Ç-DasgabsinVersion3.7nochgarnicht.Hiersinddeswegen
dieÄnderungenseitVersion3.71aufgeführt.
-DasFileFILESAVE.SCRgibtesnichtmehr.SAVESYSTEMist
jetztamAnfangdesFileinterfacedefiniert.
-InGETDRIVEwurdederSystemstacknichtkorrektgerichtet.
DasführtebisweilenzumAbsturz.
-CAPACITYenthälteinOPEN.
-AnalogzuA:undB:gibtesjetztauchdieWorteC:undD:.
-In(VIEWwirdüberprüft,obdasFileüberhauptvorhandenist,
bevorISFILEgeändertwird.
-?DISKABORTläuftaufeinABORT";eswerdennichtmehralle,
sondernnurdiewichtigstenFehlermeldungenimKlartext
ausgegeben,fürdenRestgibtesdieFehlernummer.
-PATHESwurdeauf30Zeichenverkürzt.
-WORKSPACEistjetztsichtbar.
-ImSystemselbstisteine'DiskTransferArea'(DTA)
enthalten.DiesewirdanstellederdesSystemsbenutzt.
VielleichtverschwindendamiträtselhafteFehlerbeim
UmschaltenvonLaufwerkenmitDIR(?!?!)
-OPEN,CLOSE,MAKEundUSEtesten,obderWertinISFILEein
FCBist.
-DieWorteKILLFILE,KILLDIRundEMPTYFILEsindgestrichen.
-(MOREistneu;wirdvonMOREaufgerufen,istaberschneller,
weilnichtjedemaleinCLOSEausgeführtwird.
-(MAKEVIEWistjetztheaderlos.
-CONVEYüberprüft,obdieBlöckeüberhauptexistieren.
♪④-FILESzeigtdieSubdirectoriesnichtmehrmit"◆"an,sondern
miteinem"D",damitmansauchdruckenkann.DieFilelänge
wirdindergewähltenZahlenbasisundnichtmehrzwangsweise
indecimalausgegeben.
êPRINTER.SCR
Ç-DieEpson-Anpassungwurdeverbessert,sodaßsienunauchauf
Epson-Druckernselbstläuft.DieKompatiblenkönnennämlich
meistensmehralsdasOriginal.Zusätzlichwurdeeine
Umlaut-Wandlungeingebaut.
-DerCodezumAusdruckenformatierterListingswurde
verbessert.ZusätzlichwurdedasWortPRINTALLaufgenommen,
daseinkomplettesFileohneShadowsdruckt.
-DasWortSPOOLwurdedurchSPOOL'ersetzt.SPOOL'erlaubtdie
AngabeeinesDruckkommandoswieLISTINGoderPTHRUundist
damitflexibler.
êASSEMBLE.SCRÇ
-DiesesFilegehörtnichtmehrzumArbeitssystem,sondernkann
wahlweisezugeladenwerden.Mit2LOADFROMASSEMBLE.SCRwird
derAssembleraufdenHEAPgeladen.
-AufgrundderRelokationwurdeneinigeneueMakroseingeführt,
ebensohatsichdieBelegungderRegistergeändert(Näheres
imFileASSEMBLE.DOC)
êDOUBLE.SCR
Ç-gibtesnichtmehr.DieentsprechendenWortebefindensichim
Kernelsystem.
ê
FILESAVE.SCR
Ç-gibtesnichtmehr.DieentsprechendenWortebefindensichim
FileFILEINT.SCR.
êFORTHKER.PRG
Ç
-enthältjetztbereitsdasFileinterface.
-DasSystemistaufDECIMALvoreingestellt.
êSTARTUP.SCRÇ
-enthältnurnochdieINCLUDE-Anweisungen,umausFORTHKER.PRG
einArbeitssystemzusammenzustellen.
♪④êDIVERSES.SCR
Ç-istneuundenthälthäufigbenutzteWorte,diewirnirgendwo
unterbringenkonnten.
-DasWort.BLKenthältdieSequenzBASEPUSHHEXnichtmehr.
êTOOLS.SCRÇ
-ImDecompileristL(fürLiteral)durchK(fürKonstante)
ersetztworden.DasvermeidetNamenskonfliktebeimAufrufdes
Editors.
-NPUSHimTraceristdurchCPUSHersetztworden.DiesesWort
befindetsichjetztinDIVERSES.SCR,daesauchimEditor
benutztwird.
êSTRINGS.SCR
Ç
-NeuistdasWort0",daseinencountedund0-terminated
StringimDicitonaryablegt.0"iststatesmart,kannalso
sowhlimInterpreter-alsauchimCompilermodusbenutzt
werden.
--TEXTfunktioniertjetzttatsächlichso,wieesdokumentiert
ist.
êLINE_A.SCRÇ
-InsgesamtwurdediesesFile'entrümpelt'undstelltjetztnur
nochdieGrundfunktionenzurVerfügung.Anderesindz.B.nach
DEMO.SCRausgelagert.ImEinzelnensindfolgendeWorte
betroffen:
VariableBKGRNDOVERWRITETRANSPARENTINVTRANSEXORWRITE
RSETRDRAWHOMEPATTERNPATTERNSARROW
-A_SETUPistsichtbarunddamitauchfürneueDefinitionenzu
gebrauchen.
-DieVariablensindauf"_"statt"."umgestelltworden,also
XMIN_CLIPstattXMIN.CLIP,Y_MAXstattY.MAXusw.Diesgilt
auchfür